package com.fengli.task.dao;

import com.fengli.task.entity.TaskEntity;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface TaskMapper {
    void insert(@Param("task") TaskEntity taskEntity);

    void delete();

    /**
     * taskEntity的想要属性不为空就更新
     * @param taskEntity
     */
    void update(@Param("task") TaskEntity taskEntity);

    /**
     * 究极查询方法，可能查询出来的结果为一个，也可能为多个
     * @param taskEntity
     */
    List<TaskEntity> queryTaskList(@Param("task") TaskEntity taskEntity);

    /**
     * 根据Task的id查询task
     * @param id
     * @return
     */
    @Select("select * from task where id = #{id}")
    TaskEntity queryTaskById(@Param("id") String id);
}
